This invention generally relates to an apparatus and process for converting an incoming asynchronous data signal into an outgoing synchronous data signal and vice versa. More specifically, the apparatus of the instant invention provides a general purpose communications processor which can provide a high speed conversion of asynchronous signals to synchronous signals and vice versa. The general purpose communications processor is capable of transmitting and receiving such signals at the same time. Further, the conversion of the incoming asynchronous data signal into an outgoing synchronous data signal and vice versa can be employed for high speed data communications.
With the recent proliferation of personal computers, scientific computers, business computers and computer networks, it is desirable to connect computers together in order to share data. The use of modems for communicating from computer to computer over a telephone line is well known in the art. Such modems transmit a data signal by modulating a carrier signal and sending the modulated signal over the telephone line. At the receiving end, the modulated signal is then demodulated into the original data signal and processed by the receiving computer. Such modems often run at 1,200 baud (bits per second) or 2,400 baud. However, high speed modems operate at 9,600 baud or higher.
In view of the complexity of the data and the size of the data files generated in many instances, there has been a need for higher speed data transfer.
The T1 multiplex system is a standard for interoffice communication in the North American telephone network. Each T1 carrier system operates with a DS-1 signal. The T1 digital carrier system will be described in more detail below.
In FIG. 1, a standard unswitched communications link is illustrated. Twenty-four different customers or subscribers 11 can be connected to a single channel bank 10a, such as a standard D4 channel bank in common use today. Channel bank 10a is connected to a corresponding channel bank 10b at the central office 12a by way of a T1 line 14. The central offices 12a, 12b communicate with one another on several T1 lines, a higher speed T3 line or another appropriate communication medium. Accordingly, the remote central offices are connected through channel banks 13a and 13b to customers or subscribers 15. The T1 line is a digital transmission line that operates at a speed of 1.544 megabits per second (Mbps). Each channel bank 10 has 24 channels for connections to 24 different customers or subscribers 11. These subscribers may be telephones for voice communications or they may be data terminals. The T1 lines are capable of supporting 56 K (and sometimes 64 K) bits per second of synchronous data.
In order to transmit asynchronous data over the T1 line, it is necessary to convert the asynchronous data into a synchronous data form compatible with the DS-1 signal format. An example of the DS-1 signal format used in the T1 system is illustrated in FIG. 2. As shown in FIG. 2, a frame in the T1 system consists of 193 bits. The first bit is used to establish the beginning of the frame (the framing bit). Following it are 192 bits comprising 24 code words (or channels) of 8 bits each.
As illustrated in FIG. 2 each individual frame is transmitted in 125 .mu.s. Thus, each of the 24 channels represents a single subscriber or customer. Therefore, each subscriber provides a single byte, eight bits, to the T1 system every 125 .mu.s. Each of the 24 channels in each frame contain 8 bits, and thus each channel provides eight bits every 125 .mu.s. As further illustrated in FIG. 2, 12 frames form a "super frame". Each super frame is transmitted in 1.5 ms. Two super frames include 24 individual frames and are transmitted in 3.0 ms. A T1 circuit carries 24 voice channels, with each channel carrying digital PCM (pulse code modulation) representations of voice conversations at a 56 or 64 Kbps rate. For electrical transmission reasons, certain limitations are placed on the allowable digital bit patterns which may appear. If the true digital representation of a voice signal would violate the rules of what may properly be transmitted, the bit sequences are automatically modified slightly to conform with the rules. This is normally done by the codec which performs the analog/digital and digital/analog conversion of the voice signals. Even in the event that the codec does not provide ones density control (which will be further described below), and this would be the case if the customer data were digital rather than voice, therefore bypassing the codec, the channel bank's Line Interface Unit (LIU) provides ones density control by inserting a one in bit 2 whenever the other bits in the DSO word are all zeros. This would occur at an LIU (line interface unit) at the channel bank. This may slightly modify the sound received at the receiving end, but the human ear cannot distinguish such changes. If a T1 circuit is used to carry data, however, no such changes can be permitted. The telephone carriers leave it up to the user to transmit only data which has been specially coded to avoid any rule violations, thereby preventing the T1 system from making any "fixes" which would impair the data.
In order to insure reliable recovery of the clock on an AMI (alternate mark inversion) encoded T1 line, there is a one's density requirement in which no more than 14 consecutive zero bits are transmitted, so that the T1 receiver will stay locked onto the signal. The T1 system only guarantees 14 bits of time synchronization. Therefore no more than 14 consecutive zero bits can be transmitted. In practice, however, in the LIU of a channel bank, if seven zeros are received consecutively, the channel bank automatically inserts a "1" into the next bit.
Therefore, in order to obtain the maximum throughput on a T1 line, the one's density requirement must be complied with, so that data is not compromised by the automatic insertion of a wrong bit at the channel bank.
In order to pack data onto the carrier's synchronous T1 channel at the maximum permissible rate, asynchronous to synchronous conversion must be implemented. Furthermore, after this has been done, the ones density problem must be addressed by insuring that there is at least one "one" in every byte accepted for insertion into the T1 stream. The most commonly used method of asynchronous/synchronous conversion does not strip start and stop bits from the data and therefore wastes approximately 20% of the bandwidth for synchronization purposes.
A protocol system used in synchronous communications is SDLC (synchronous data link control), which is a bit-oriented protocol. Another example of such a coding scheme is HDLC (high level data link control). HDLC is actually a superset of SDLC. However, neither the SDLC nor the HDLC coding schemes are suitable for maximizing the throughput in a T1 line in the presence of data containing streams of consecutive zeros.
In conventional SDLC protocol used for synchronous transmission, the packet length is variable and a variable amount of fill (or idle) characters are provided between packets. Because of the variable packet length and the variable amounts of fill characters between packets, a system employing the SDLC protocol requires a large amount of hardware to perform it, and is less efficient in bandwidth. Bandwidth as used in this application, refers to the number of bits per second (BPS) which can be transmitted.
Another conventional system is referred to as a bisync protocol which requires two sync characters at the front of a packet and a checksum at the end. This allows for a variable packet length which in turn requires excess overhead. The sync bytes are not located at specific time intervals. Thus, this protocol is also less efficient in terms of bandwidth than the instant invention.